The use of application platforms is generally well known in the prior art. Application platforms provide the necessary background for development, deployment, installation and execution of applications in environments with a number of computer systems. These systems are sometimes organized in a client-server structure and provide an information technology structure and a plurality of basic information technology services to the users of the environment. These services may include the management of identities and roles, libraries, security features, storage and persistence features, process identification and execution, deployment models etc.
Application platforms are used to benefit from the generic application infrastructure they provide. Applications may be selected and customized according to the needs of the users in the specific environment. The infrastructure of the platform allows developers to focus on the implementation of the features useful for the user within the applications without worrying about the general framework.
In order to be able to be customized according to the needs of the users of a specific environment, an application platform usually provides features and mechanisms for extensions and upgrades/updates. An update of the platform performed by a third party software manufacturer may extend the platform, extend the applications already installed on the platform or add new applications to the platform.
Operating systems usually provide generic installer programs such as e.g. the Windows installer that provide support and uniformity regarding software installations. Such installation programs are able to manage different versions of software products and their updates.
However, these installation programs do not provide functions to assure that an update or an extension of the platform does not destroy the already installed applications or the entire platform. This is especially important in the case of updates or extensions by third party installer programs and requires deeper insight into the structure of the application platform.
If damage is caused to the application platform by a third party installer program or other sources, this affects all applications installed on the platform that use the affected platform subsystems. These applications will no longer work normally. In the case of a client-server architecture where the platform is installed on a central server—which becomes more and more common especially in medical environments such as hospitals—all clients will stop operation.